Database systems consist of objects that store information or data, referred to as database objects. One type of database object is a database table, which is logically represented by information arranged in rows and columns. Data stored in a particular row is referred to as a record, and each record is organized into one or more fields of data. The type of information stored in a particular field is determined by the data type of the column in which that field is located. FIG. 2 depicts an employee table 200 to provide an example of a database table. As shown in FIG. 2, row 202 of employee table 200 stores a record of information about employee Bob Smith 212. Each row in employee table 200 comprises three fields of data. One field stores employee name 210, which is Bob Smith 212 for row 202. Another field stores education 220, which is High School 222 for row 202. Yet another field stores employment history 230, which for row 202 is represented by a nested table 204.
A database object is managed by one or more database servers. A database server that manages a database object is considered to be a “managing database server” relative to the database object. A managing database server is capable of providing indirect access to the database object to other entities. Therefore, any entity, other than a managing database server, that wishes to access a database object must access the database object indirectly by submitting a request to a managing database server for that database object. An entity that submits a request to a database server to access a database object is referred to herein as a “client”. There are many forms of clients. For example, a client may be a database application, or another database server that is not managing the database object to which access is sought.
A database server is “local” with respect to a client if the server is in direct communication with the client. For example, as shown in FIG. 1, server 120 is in direct communication with client 110, so server 120 is a local server relative to client 110. A database server that is not in direct communication with a client is referred to as a remote database server. For example, as shown in FIG. 1, server 130 communicates with client 110 indirectly, through local server 120, so server 130 is a remote server relative to client 110.